Amazon EC2 の最適な購⼊オプションを教えてください
困っていること
AWS の EC2 インスタンスを活用してサービスを展開しています。今後も弊社は引き続き EC2 を活用したサービスや社内システムを構築予定です。
一方で、活用するにあたり様々な購⼊オプションがあるため、どれを選択すれば良いか判断に困っています。
最適な購入オプションの選択方法などあれば教えてください。
どう対応すればいいの?
前提として、所属する企業様のワークロードなどにより、どちらの購入オプションが最適であるか一概に言えません。
まずは、各購⼊オプションの特徴についてご認識ください。
※最大値引き率はブログ執筆時のものです。詳細は各ドキュメントをご確認ください
オンデマンドインスタンス
⻑期コミット不要で使⽤分のみ⽀払いです。(秒単位/時間単位)Amazon EC2 の定価であり、スパイクするようなワークロードに最適です。 一部の商用 Linux 製品については、1 時間単位(丸めて)の請求になりますが、基本的には秒単位(最低 60 秒)での請求になっています。
リザーブドインスタンス
1 年 / 3 年の⻑期コミットに応じた⼤幅なディスカウント価格(最大で 75% 値引き)で購入可能です。⼀定の負荷の⾒通しがあり⻑期コミット可能なワークロードに最適です。
Savings Plans
リザーブドインスタンスの後継で、同等のディスカウントに加えて(最大で 72% 値引き)より優れた柔軟性を提供しています。⼀定の負荷の⾒通しがあり⻑期コミット可能な時など、コンピュート能力を柔軟に変更できます。
スポットインスタンス
最も安く利用可能なオプションとなっており、Amazon EC2 の空きキャパシティを活⽤して最⼤ 90% 値引きされています。一方で、Amazon EC2 の使われていない空きキャパシティを活⽤しているため、起動しない場合やインスタンスの中断が発生する(2 分前に通知あり)特徴があります。こうした中断などのワークロードを気にされない(乗り越えられる)場合は最適です。
参考情報(P29)
ワークロード別 購⼊オプションの選び⽅
前途の通り、一概に言えないため回答は困難ではあるものの、AWS ではワークロード別に購⼊オプション選択例を提案しています。 以下は、各ワークロードに適した購入オプションの選択を棒グラフで示しています。こちらを参考にワークロードに合わせた購入オプションの選択を一度ご検討ください。
参考情報(P9)
補足(考察)
例えば、上記参考情報の一番左データベースについて、マネージドサービスである RDS や Aurora などを使用せず、EC2 上で稼働させる場合、無停止で運用されることが多いため長時間の仕様にコミットしやすいです。そのため 100% Savings Plans による運用が可能であると考えられます。
ステートレス Web サーバー、API サーバーは、確実に起動する必要があり最低限の台数やキャパシティが決まっていることが多いです。またイベントなどの際にアクセス数が急増といった増減が頻繫に発生すると考えられるため、最低限の台数部分を Savings Plans で運用しつつ、増減する部分についてはスポットインスタンスで運用するなどの購入オプションの選択が考えられます。
ビデオストリーミングの場合は、アクセス数が推定されづらい単発イベントと想定すると、最低 1 年のコミットが必要な Savings Plans が選択として当てはまるとは言えません。またスポットインスタンスを利用した場合であると、起動ができない場合や中断が発生する可能性があるため視聴者様へ直接的な影響が出ることが想定されます。そのため、オンデマンドインスタンスが適切であると考えられます。
上記のように、各購入オプションはワークロードの特性に合わせて適切に選択してください。